<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::core::triangle3d&lt; T &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1core_1_1triangle3d.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">irr::core::triangle3d&lt; T &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::core::triangle3d" -->
<p>3d triangle template class for doing collision detection and other things.  
 <a href="classirr_1_1core_1_1triangle3d.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>&gt;</code></p>

<p><a href="classirr_1_1core_1_1triangle3d-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1triangle3d.html#a4626559294771a8a2fb0cbbaedb6c5f9">triangle3d</a> ()
<dl class="el"><dd class="mdescRight">Constructor for an all 0 triangle.  <a href="#a4626559294771a8a2fb0cbbaedb6c5f9"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1triangle3d.html#a489813c59bd130d256640ba4e2745505">triangle3d</a> (<a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; v1, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; v2, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; v3)
<dl class="el"><dd class="mdescRight">Constructor for triangle with given three vertices.  <a href="#a489813c59bd130d256640ba4e2745505"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#a0318b5951c702a306223b0dff7c83128">closestPointOnTriangle</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;p) const 
<dl class="el"><dd class="mdescRight">Get the closest point on a triangle to a point on the same plane.  <a href="#a0318b5951c702a306223b0dff7c83128"></a><br/></dl><li>T <a class="el" href="classirr_1_1core_1_1triangle3d.html#a2394228f2da6063eb8fedf1f3da9facc">getArea</a> () const 
<dl class="el"><dd class="mdescRight">Get the area of the triangle.  <a href="#a2394228f2da6063eb8fedf1f3da9facc"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a0ac5455e0215040cc93475baa543303a">getIntersectionOfPlaneWithLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;lineVect, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outIntersection) const 
<dl class="el"><dd class="mdescRight">Calculates the intersection between a 3d line and the plane the triangle is on.  <a href="#a0ac5455e0215040cc93475baa543303a"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#ab29f327aac047e9984256b11ace27318">getIntersectionWithLimitedLine</a> (const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>&lt; T &gt; &amp;line, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outIntersection) const 
<dl class="el"><dd class="mdescRight">Get an intersection with a 3d line.  <a href="#ab29f327aac047e9984256b11ace27318"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a8507e3af8385b006ca026173fad33506">getIntersectionWithLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;lineVect, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outIntersection) const 
<dl class="el"><dd class="mdescRight">Get an intersection with a 3d line.  <a href="#a8507e3af8385b006ca026173fad33506"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#a14298103d89ba5eae37d82d8556f07e2">getNormal</a> () const 
<dl class="el"><dd class="mdescRight">Get the normal of the triangle.  <a href="#a14298103d89ba5eae37d82d8556f07e2"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#a8cec7cdb0c9caa0b41f819eac2ad51aa">getPlane</a> () const 
<dl class="el"><dd class="mdescRight">Get the plane of this triangle.  <a href="#a8cec7cdb0c9caa0b41f819eac2ad51aa"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#acec0805b8512d9c3b0d5fe4b2cdb8562">isFrontFacing</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;lookDirection) const 
<dl class="el"><dd class="mdescRight">Test if the triangle would be front or backfacing from any point.  <a href="#acec0805b8512d9c3b0d5fe4b2cdb8562"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a2a35b829f8389c5548e19e28157979c9">isPointInside</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;p) const 
<dl class="el"><dd class="mdescRight">Check if a point is inside the triangle (border-points count also as inside)  <a href="#a2a35b829f8389c5548e19e28157979c9"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a80986af43b5a104bef2c75f74fcf7465">isPointInsideFast</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;p) const 
<dl class="el"><dd class="mdescRight">Check if a point is inside the triangle (border-points count also as inside)  <a href="#a80986af43b5a104bef2c75f74fcf7465"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a9e7a8bba12fb314da35a9c249761a170">isTotalInsideBox</a> (const <a class="el" href="classirr_1_1core_1_1aabbox3d.html">aabbox3d</a>&lt; T &gt; &amp;box) const 
<dl class="el"><dd class="mdescRight">Determines if the triangle is totally inside a bounding box.  <a href="#a9e7a8bba12fb314da35a9c249761a170"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a37e1822a18d88b08b2f9de9ed7e4ff84">isTotalOutsideBox</a> (const <a class="el" href="classirr_1_1core_1_1aabbox3d.html">aabbox3d</a>&lt; T &gt; &amp;box) const 
<dl class="el"><dd class="mdescRight">Determines if the triangle is totally outside a bounding box.  <a href="#a37e1822a18d88b08b2f9de9ed7e4ff84"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a5a3b0b9e0ae5bc1c4c9bf11c06e9d30d">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a>&lt; T &gt; &amp;other) const 
<dl class="el"><dd class="mdescRight">Inequality operator.  <a href="#a5a3b0b9e0ae5bc1c4c9bf11c06e9d30d"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1triangle3d.html#a1541eda9f2baabc1f23eecb520c6fef2">operator==</a> (const <a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a>&lt; T &gt; &amp;other) const 
<dl class="el"><dd class="mdescRight">Equality operator.  <a href="#a1541eda9f2baabc1f23eecb520c6fef2"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1triangle3d.html#aebcd3f29fcbf9008dac95810c81f152c">set</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;a, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;b, const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;c)
<dl class="el"><dd class="mdescRight">sets the triangle's points  <a href="#aebcd3f29fcbf9008dac95810c81f152c"></a><br/></dl></ul>
<h2><a name="pub-attribs"></a>
Public Attributes</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#ad4113299162b5855bccf8465b31ff78b">pointA</a>
<dl class="el"><dd class="mdescRight">the three points of the triangle  <a href="#ad4113299162b5855bccf8465b31ff78b"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#a3ed5276e50f3d3b6a1e2483dffa822ac">pointB</a>
<li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html#a08e65517102b6d04f0537b876e152466">pointC</a>
</ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br/>
class irr::core::triangle3d&lt; T &gt;</h3>

<p>3d triangle template class for doing collision detection and other things. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00020">20</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4626559294771a8a2fb0cbbaedb6c5f9"></a><!-- doxytag: member="irr::core::triangle3d::triangle3d" ref="a4626559294771a8a2fb0cbbaedb6c5f9" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for an all 0 triangle. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00025">25</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a489813c59bd130d256640ba4e2745505"></a><!-- doxytag: member="irr::core::triangle3d::triangle3d" ref="a489813c59bd130d256640ba4e2745505" args="(vector3d&lt; T &gt; v1, vector3d&lt; T &gt; v2, vector3d&lt; T &gt; v3)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt;&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt;&#160;</td>
          <td class="paramname"><em>v2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt;&#160;</td>
          <td class="paramname"><em>v3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for triangle with given three vertices. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00027">27</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0318b5951c702a306223b0dff7c83128"></a><!-- doxytag: member="irr::core::triangle3d::closestPointOnTriangle" ref="a0318b5951c702a306223b0dff7c83128" args="(const core::vector3d&lt; T &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::closestPointOnTriangle </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the closest point on a triangle to a point on the same plane. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>Point which must be on the same plane as the triangle. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The closest point of the triangle </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00068">68</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00132">irr::core::vector3d&lt; T &gt;::getDistanceFrom()</a>, <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="a2394228f2da6063eb8fedf1f3da9facc"></a><!-- doxytag: member="irr::core::triangle3d::getArea" ref="a2394228f2da6063eb8fedf1f3da9facc" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getArea </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the area of the triangle. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00224">224</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="a0ac5455e0215040cc93475baa543303a"></a><!-- doxytag: member="irr::core::triangle3d::getIntersectionOfPlaneWithLine" ref="a0ac5455e0215040cc93475baa543303a" args="(const vector3d&lt; T &gt; &amp;linePoint, const vector3d&lt; T &gt; &amp;lineVect, vector3d&lt; T &gt; &amp;outIntersection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getIntersectionOfPlaneWithLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>lineVect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIntersection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the intersection between a 3d line and the plane the triangle is on. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lineVect</td><td>Vector of the line to intersect with. </td></tr>
    <tr><td class="paramname">linePoint</td><td>Point of the line to intersect with. </td></tr>
    <tr><td class="paramname">outIntersection</td><td>Place to store the intersection point, if there is one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was an intersection, else false. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00169">169</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="triangle3d_8h_source.html#l00199">irr::core::triangle3d&lt; T &gt;::getNormal()</a>, <a class="el" href="irr_math_8h_source.html#l00270">irr::core::iszero()</a>, <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>, <a class="el" href="vector3d_8h_source.html#l00408">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00411">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00414">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00154">irr::core::triangle3d&lt; T &gt;::getIntersectionWithLine()</a>.</p>

</div>
</div>
<a class="anchor" id="ab29f327aac047e9984256b11ace27318"></a><!-- doxytag: member="irr::core::triangle3d::getIntersectionWithLimitedLine" ref="ab29f327aac047e9984256b11ace27318" args="(const line3d&lt; T &gt; &amp;line, vector3d&lt; T &gt; &amp;outIntersection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getIntersectionWithLimitedLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1line3d.html">line3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIntersection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get an intersection with a 3d line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>Line to intersect with. </td></tr>
    <tr><td class="paramname">outIntersection</td><td>Place to store the intersection point, if there is one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was an intersection, false if not. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00136">136</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="line3d_8h_source.html#l00132">irr::core::line3d&lt; T &gt;::end</a>, <a class="el" href="triangle3d_8h_source.html#l00154">irr::core::triangle3d&lt; T &gt;::getIntersectionWithLine()</a>, <a class="el" href="line3d_8h_source.html#l00071">irr::core::line3d&lt; T &gt;::getVector()</a>, <a class="el" href="vector3d_8h_source.html#l00157">irr::core::vector3d&lt; T &gt;::isBetweenPoints()</a>, and <a class="el" href="line3d_8h_source.html#l00130">irr::core::line3d&lt; T &gt;::start</a>.</p>

</div>
</div>
<a class="anchor" id="a8507e3af8385b006ca026173fad33506"></a><!-- doxytag: member="irr::core::triangle3d::getIntersectionWithLine" ref="a8507e3af8385b006ca026173fad33506" args="(const vector3d&lt; T &gt; &amp;linePoint, const vector3d&lt; T &gt; &amp;lineVect, vector3d&lt; T &gt; &amp;outIntersection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getIntersectionWithLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>lineVect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIntersection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get an intersection with a 3d line. </p>
<p>Please note that also points are returned as intersection which are on the line, but not between the start and end point of the line. If you want the returned point be between start and end use <a class="el" href="classirr_1_1core_1_1triangle3d.html#ab29f327aac047e9984256b11ace27318" title="Get an intersection with a 3d line.">getIntersectionWithLimitedLine()</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">linePoint</td><td>Point of the line to intersect with. </td></tr>
    <tr><td class="paramname">lineVect</td><td>Vector of the line to intersect with. </td></tr>
    <tr><td class="paramname">outIntersection</td><td>Place to store the intersection point, if there is one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was an intersection, false if there was not. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00154">154</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00169">irr::core::triangle3d&lt; T &gt;::getIntersectionOfPlaneWithLine()</a>, and <a class="el" href="triangle3d_8h_source.html#l00089">irr::core::triangle3d&lt; T &gt;::isPointInside()</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00136">irr::core::triangle3d&lt; T &gt;::getIntersectionWithLimitedLine()</a>.</p>

</div>
</div>
<a class="anchor" id="a14298103d89ba5eae37d82d8556f07e2"></a><!-- doxytag: member="irr::core::triangle3d::getNormal" ref="a14298103d89ba5eae37d82d8556f07e2" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getNormal </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the normal of the triangle. </p>
<p>Please note: The normal is not always normalized. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00199">199</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00169">irr::core::triangle3d&lt; T &gt;::getIntersectionOfPlaneWithLine()</a>, and <a class="el" href="triangle3d_8h_source.html#l00210">irr::core::triangle3d&lt; T &gt;::isFrontFacing()</a>.</p>

</div>
</div>
<a class="anchor" id="a8cec7cdb0c9caa0b41f819eac2ad51aa"></a><!-- doxytag: member="irr::core::triangle3d::getPlane" ref="a8cec7cdb0c9caa0b41f819eac2ad51aa" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::getPlane </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the plane of this triangle. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00218">218</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="acec0805b8512d9c3b0d5fe4b2cdb8562"></a><!-- doxytag: member="irr::core::triangle3d::isFrontFacing" ref="acec0805b8512d9c3b0d5fe4b2cdb8562" args="(const vector3d&lt; T &gt; &amp;lookDirection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::isFrontFacing </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>lookDirection</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test if the triangle would be front or backfacing from any point. </p>
<p>Thus, this method assumes a camera position from which the triangle is definitely visible when looking at the given direction. Do not use this method with points as it will give wrong results! </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lookDirection</td><td>Look direction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the plane is front facing and false if it is backfacing. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00210">210</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="irr_math_8h_source.html#l00386">F32_LOWER_EQUAL_0</a>, and <a class="el" href="triangle3d_8h_source.html#l00199">irr::core::triangle3d&lt; T &gt;::getNormal()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a35b829f8389c5548e19e28157979c9"></a><!-- doxytag: member="irr::core::triangle3d::isPointInside" ref="a2a35b829f8389c5548e19e28157979c9" args="(const vector3d&lt; T &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::isPointInside </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a point is inside the triangle (border-points count also as inside) </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00089">89</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>, <a class="el" href="vector3d_8h_source.html#l00408">irr::core::vector3d&lt; T &gt;::X</a>, <a class="el" href="vector3d_8h_source.html#l00411">irr::core::vector3d&lt; T &gt;::Y</a>, and <a class="el" href="vector3d_8h_source.html#l00414">irr::core::vector3d&lt; T &gt;::Z</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00154">irr::core::triangle3d&lt; T &gt;::getIntersectionWithLine()</a>.</p>

</div>
</div>
<a class="anchor" id="a80986af43b5a104bef2c75f74fcf7465"></a><!-- doxytag: member="irr::core::triangle3d::isPointInsideFast" ref="a80986af43b5a104bef2c75f74fcf7465" args="(const vector3d&lt; T &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::isPointInsideFast </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a point is inside the triangle (border-points count also as inside) </p>
<p>This method uses a barycentric coordinate system. It is faster than isPointInside but is more susceptible to floating point rounding errors. This will especially be noticable when the FPU is in single precision mode (which is for example set on default by Direct3D). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>Point to test. Assumes that this point is already on the plane of the triangle. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if point is inside the triangle, otherwise false. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00108">108</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="vector3d_8h_source.html#l00125">irr::core::vector3d&lt; T &gt;::dotProduct()</a>, <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>, and <a class="el" href="irr_math_8h_source.html#l00049">irr::core::ROUNDING_ERROR_f32</a>.</p>

</div>
</div>
<a class="anchor" id="a9e7a8bba12fb314da35a9c249761a170"></a><!-- doxytag: member="irr::core::triangle3d::isTotalInsideBox" ref="a9e7a8bba12fb314da35a9c249761a170" args="(const aabbox3d&lt; T &gt; &amp;box) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::isTotalInsideBox </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1aabbox3d.html">aabbox3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>box</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determines if the triangle is totally inside a bounding box. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">box</td><td>Box to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if triangle is within the box, otherwise false. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00044">44</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="aabbox3d_8h_source.html#l00201">irr::core::aabbox3d&lt; T &gt;::isPointInside()</a>, <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="a37e1822a18d88b08b2f9de9ed7e4ff84"></a><!-- doxytag: member="irr::core::triangle3d::isTotalOutsideBox" ref="a37e1822a18d88b08b2f9de9ed7e4ff84" args="(const aabbox3d&lt; T &gt; &amp;box) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::isTotalOutsideBox </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1aabbox3d.html">aabbox3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>box</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determines if the triangle is totally outside a bounding box. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">box</td><td>Box to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if triangle is outside the box, otherwise false. </dd></dl>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00054">54</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="aabbox3d_8h_source.html#l00320">irr::core::aabbox3d&lt; T &gt;::MaxEdge</a>, <a class="el" href="aabbox3d_8h_source.html#l00317">irr::core::aabbox3d&lt; T &gt;::MinEdge</a>, <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="a5a3b0b9e0ae5bc1c4c9bf11c06e9d30d"></a><!-- doxytag: member="irr::core::triangle3d::operator!=" ref="a5a3b0b9e0ae5bc1c4c9bf11c06e9d30d" args="(const triangle3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inequality operator. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00036">36</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1541eda9f2baabc1f23eecb520c6fef2"></a><!-- doxytag: member="irr::core::triangle3d::operator==" ref="a1541eda9f2baabc1f23eecb520c6fef2" args="(const triangle3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Equality operator. </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00030">30</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<a class="anchor" id="aebcd3f29fcbf9008dac95810c81f152c"></a><!-- doxytag: member="irr::core::triangle3d::set" ref="aebcd3f29fcbf9008dac95810c81f152c" args="(const core::vector3d&lt; T &gt; &amp;a, const core::vector3d&lt; T &gt; &amp;b, const core::vector3d&lt; T &gt; &amp;c)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::set </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>sets the triangle's points </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00231">231</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>References <a class="el" href="triangle3d_8h_source.html#l00239">irr::core::triangle3d&lt; T &gt;::pointA</a>, <a class="el" href="triangle3d_8h_source.html#l00240">irr::core::triangle3d&lt; T &gt;::pointB</a>, and <a class="el" href="triangle3d_8h_source.html#l00241">irr::core::triangle3d&lt; T &gt;::pointC</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ad4113299162b5855bccf8465b31ff78b"></a><!-- doxytag: member="irr::core::triangle3d::pointA" ref="ad4113299162b5855bccf8465b31ff78b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1triangle3d.html#ad4113299162b5855bccf8465b31ff78b">pointA</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>the three points of the triangle </p>

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00239">239</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00068">irr::core::triangle3d&lt; T &gt;::closestPointOnTriangle()</a>, <a class="el" href="triangle3d_8h_source.html#l00224">irr::core::triangle3d&lt; T &gt;::getArea()</a>, <a class="el" href="triangle3d_8h_source.html#l00169">irr::core::triangle3d&lt; T &gt;::getIntersectionOfPlaneWithLine()</a>, <a class="el" href="triangle3d_8h_source.html#l00199">irr::core::triangle3d&lt; T &gt;::getNormal()</a>, <a class="el" href="triangle3d_8h_source.html#l00218">irr::core::triangle3d&lt; T &gt;::getPlane()</a>, <a class="el" href="triangle3d_8h_source.html#l00089">irr::core::triangle3d&lt; T &gt;::isPointInside()</a>, <a class="el" href="triangle3d_8h_source.html#l00108">irr::core::triangle3d&lt; T &gt;::isPointInsideFast()</a>, <a class="el" href="triangle3d_8h_source.html#l00044">irr::core::triangle3d&lt; T &gt;::isTotalInsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00054">irr::core::triangle3d&lt; T &gt;::isTotalOutsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00030">irr::core::triangle3d&lt; T &gt;::operator==()</a>, and <a class="el" href="triangle3d_8h_source.html#l00231">irr::core::triangle3d&lt; T &gt;::set()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ed5276e50f3d3b6a1e2483dffa822ac"></a><!-- doxytag: member="irr::core::triangle3d::pointB" ref="a3ed5276e50f3d3b6a1e2483dffa822ac" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1triangle3d.html#a3ed5276e50f3d3b6a1e2483dffa822ac">pointB</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00240">240</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00068">irr::core::triangle3d&lt; T &gt;::closestPointOnTriangle()</a>, <a class="el" href="triangle3d_8h_source.html#l00224">irr::core::triangle3d&lt; T &gt;::getArea()</a>, <a class="el" href="triangle3d_8h_source.html#l00169">irr::core::triangle3d&lt; T &gt;::getIntersectionOfPlaneWithLine()</a>, <a class="el" href="triangle3d_8h_source.html#l00199">irr::core::triangle3d&lt; T &gt;::getNormal()</a>, <a class="el" href="triangle3d_8h_source.html#l00218">irr::core::triangle3d&lt; T &gt;::getPlane()</a>, <a class="el" href="triangle3d_8h_source.html#l00089">irr::core::triangle3d&lt; T &gt;::isPointInside()</a>, <a class="el" href="triangle3d_8h_source.html#l00108">irr::core::triangle3d&lt; T &gt;::isPointInsideFast()</a>, <a class="el" href="triangle3d_8h_source.html#l00044">irr::core::triangle3d&lt; T &gt;::isTotalInsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00054">irr::core::triangle3d&lt; T &gt;::isTotalOutsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00030">irr::core::triangle3d&lt; T &gt;::operator==()</a>, and <a class="el" href="triangle3d_8h_source.html#l00231">irr::core::triangle3d&lt; T &gt;::set()</a>.</p>

</div>
</div>
<a class="anchor" id="a08e65517102b6d04f0537b876e152466"></a><!-- doxytag: member="irr::core::triangle3d::pointC" ref="a08e65517102b6d04f0537b876e152466" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1triangle3d.html">irr::core::triangle3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1triangle3d.html#a08e65517102b6d04f0537b876e152466">pointC</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="triangle3d_8h_source.html#l00241">241</a> of file <a class="el" href="triangle3d_8h_source.html">triangle3d.h</a>.</p>

<p>Referenced by <a class="el" href="triangle3d_8h_source.html#l00068">irr::core::triangle3d&lt; T &gt;::closestPointOnTriangle()</a>, <a class="el" href="triangle3d_8h_source.html#l00224">irr::core::triangle3d&lt; T &gt;::getArea()</a>, <a class="el" href="triangle3d_8h_source.html#l00169">irr::core::triangle3d&lt; T &gt;::getIntersectionOfPlaneWithLine()</a>, <a class="el" href="triangle3d_8h_source.html#l00199">irr::core::triangle3d&lt; T &gt;::getNormal()</a>, <a class="el" href="triangle3d_8h_source.html#l00218">irr::core::triangle3d&lt; T &gt;::getPlane()</a>, <a class="el" href="triangle3d_8h_source.html#l00089">irr::core::triangle3d&lt; T &gt;::isPointInside()</a>, <a class="el" href="triangle3d_8h_source.html#l00108">irr::core::triangle3d&lt; T &gt;::isPointInsideFast()</a>, <a class="el" href="triangle3d_8h_source.html#l00044">irr::core::triangle3d&lt; T &gt;::isTotalInsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00054">irr::core::triangle3d&lt; T &gt;::isTotalOutsideBox()</a>, <a class="el" href="triangle3d_8h_source.html#l00030">irr::core::triangle3d&lt; T &gt;::operator==()</a>, and <a class="el" href="triangle3d_8h_source.html#l00231">irr::core::triangle3d&lt; T &gt;::set()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="triangle3d_8h_source.html">triangle3d.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1core.html">core</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1core_1_1triangle3d.html">triangle3d</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sat Jul 9 2016 18:18:32 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
